package com.ruoyi.kesheSys.service.impl;

import java.util.List;
import java.util.Map;

import com.ruoyi.common.utils.DateUtils;
import com.ruoyi.kesheSys.domain.vo.PopulationInfoVo;
import com.ruoyi.kesheSys.to.BusinessTo;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import com.ruoyi.kesheSys.mapper.PopulationInfoMapper;
import com.ruoyi.kesheSys.domain.PopulationInfo;
import com.ruoyi.kesheSys.service.IPopulationInfoService;

/**
 * 人口基本信息Service业务层处理
 * 
 * @author keshe
 * @date 2024-12-22
 */
@Service
public class PopulationInfoServiceImpl implements IPopulationInfoService 
{
    @Autowired
    private PopulationInfoMapper populationInfoMapper;

    /**
     * 查询人口基本信息
     * 
     * @param id 人口基本信息主键
     * @return 人口基本信息
     */
    @Override
    public PopulationInfo selectPopulationInfoById(Long id)
    {
        return populationInfoMapper.selectPopulationInfoById(id);
    }

    /**
     * 查询人口基本信息列表
     * 
     * @param populationInfo 人口基本信息
     * @return 人口基本信息
     */
    @Override
    public List<PopulationInfo> selectPopulationInfoList(PopulationInfo populationInfo)
    {
        return populationInfoMapper.selectPopulationInfoList(populationInfo);
    }

    /**
     * 新增人口基本信息
     * 
     * @param populationInfo 人口基本信息
     * @return 结果
     */
    @Override
    public int insertPopulationInfo(PopulationInfo populationInfo)
    {
        populationInfo.setCreateTime(DateUtils.getNowDate());
        return populationInfoMapper.insertPopulationInfo(populationInfo);
    }

    /**
     * 修改人口基本信息
     * 
     * @param populationInfo 人口基本信息
     * @return 结果
     */
    @Override
    public int updatePopulationInfo(PopulationInfo populationInfo)
    {
        populationInfo.setUpdateTime(DateUtils.getNowDate());
        return populationInfoMapper.updatePopulationInfo(populationInfo);
    }

    /**
     * 批量删除人口基本信息
     * 
     * @param ids 需要删除的人口基本信息主键
     * @return 结果
     */
    @Override
    public int deletePopulationInfoByIds(Long[] ids)
    {
        return populationInfoMapper.deletePopulationInfoByIds(ids);
    }

    /**
     * 删除人口基本信息信息
     * 
     * @param id 人口基本信息主键
     * @return 结果
     */
    @Override
    public int deletePopulationInfoById(Long id)
    {
        return populationInfoMapper.deletePopulationInfoById(id);
    }

    @Override
    public List<PopulationInfoVo> selectPopulationInfoListVo(PopulationInfo populationInfo) {
        return populationInfoMapper.selectPopulationInfoListVo(populationInfo);
    }


    /**
     * 查询所有人口的男女比例
     *
     * @return 性别比例统计数据
     */
    @Override
    public BusinessTo selectGlobalGenderStatistics() {
        // 调用 Mapper 层方法，返回性别比例统计数据
        return populationInfoMapper.selectGlobalGenderStatistics();
    }

    /**
     * 查询所有人口的年龄分布
     *
     * @return 年龄分布统计数据
     */
    @Override
    public BusinessTo selectGlobalAgeDistribution() {
        // 调用 Mapper 层方法，返回年龄分布统计数据
        return populationInfoMapper.selectGlobalAgeDistribution();
    }

    /**
     * 查询各区域人口比重
     *
     * @return 各区域人口统计数据列表
     */
    @Override
    public List<BusinessTo> selectPopulationCountByRegion() {
        return populationInfoMapper.selectPopulationCountByRegion();
    }







}












